//using System;
//using System.Collections.Generic;
//using Publicidades = PortalCurriculo.Publicidades;
//using PortalCurriculo.DAL.Linq;
//using System.Data.Linq;

//namespace PortalCurriculo.DAL.Publicidades
//{
//    public class TabelaPrecoPublicidade : ITabelaPrecoPublicidade
//    {
//        PortalCurriculoDataContext portalCurriculoDB = new PortalCurriculoDataContext();

//        #region TabelaPrecoPublicidade Members

//        public void Salvar(Publicidades.TabelaPrecoPublicidade tabelaPrecoPublicidade)
//        {
//            ExecutarLinq(tabelaPrecoPublicidade, Acao.INSERIR);
//        }

//        public void Alterar(Publicidades.TabelaPrecoPublicidade tabelaPrecoPublicidade)
//        {
//            ExecutarLinq(tabelaPrecoPublicidade, Acao.ALTERAR);
//        }

//        public Publicidades.TabelaPrecoPublicidade SelecionarPorCodigo(Publicidades.TabelaPrecoPublicidade tabelaPrecoPublicidade)
//        {
//            return ConverterParaModel(SelecionarLinq(tabelaPrecoPublicidade, Acao.RETORNAR_UNICO))[0];
//        }

//        public List<Publicidades.TabelaPrecoPublicidade> Selecionar(Publicidades.TabelaPrecoPublicidade tabelaPrecoPublicidade)
//        {
//            return ConverterParaModel(SelecionarLinq(tabelaPrecoPublicidade, Acao.LISTAR));
//        }

//        public void Inativar(Publicidades.TabelaPrecoPublicidade tabelaPrecoPublicidade)
//        {
//            ExecutarLinq(tabelaPrecoPublicidade, Acao.INATIVAR);
//        }

//        #endregion

//        private void ExecutarLinq(Publicidades.TabelaPrecoPublicidade tabelaPrecoPublicidade, string acao)
//        {
//            portalCurriculoDB.pTabelaPrecoPublicidadeManipulacao(acao, tabelaPrecoPublicidade.Codigo, tabelaPrecoPublicidade.Descricao,
//               tabelaPrecoPublicidade.Periodo.Codigo, tabelaPrecoPublicidade.LocalBanner.Codigo, tabelaPrecoPublicidade.Valor,
//               tabelaPrecoPublicidade.Ativo);
//        }

//        private ISingleResult<pTabelaPrecoPublicidadeManipulacaoResult> SelecionarLinq(Publicidades.TabelaPrecoPublicidade tabelaPrecoPublicidade, string acao)
//        {
//            return portalCurriculoDB.pTabelaPrecoPublicidadeManipulacao(acao, tabelaPrecoPublicidade.Codigo, tabelaPrecoPublicidade.Descricao,
//               tabelaPrecoPublicidade.Periodo.Codigo, tabelaPrecoPublicidade.LocalBanner.Codigo, tabelaPrecoPublicidade.Valor,
//               tabelaPrecoPublicidade.Ativo);
//        }

//        private List<Publicidades.TabelaPrecoPublicidade> ConverterParaModel(ISingleResult<pTabelaPrecoPublicidadeManipulacaoResult> resultTabelaPrecoPublicidade)
//        {
//            ISingleResult<pTabelaPrecoPublicidadeManipulacaoResult> result = resultTabelaPrecoPublicidade;
//            List<Publicidades.TabelaPrecoPublicidade> tabelaPrecoPublicidades = new List<Publicidades.TabelaPrecoPublicidade>();

//            foreach (pTabelaPrecoPublicidadeManipulacaoResult item in result)
//            {
//                Publicidades.TabelaPrecoPublicidade tabelaPrecoPublicidade = new Publicidades.TabelaPrecoPublicidade()
//                {
//                    #region Dados TabelaPrecoPublicidade
//                    Codigo = (int)item.Codigo,
//                    Descricao = item.Descricao,
//                    Valor = item.Valor,
//                    Ativo = (bool)item.Ativo
//                    #endregion
//                };

//                #region Dados Periodo
//                Periodo periodoDAL = new Periodo();
//                tabelaPrecoPublicidade.Periodo.Codigo = (int)item.CodigoPeriodo;
//                tabelaPrecoPublicidade.Periodo = periodoDAL.SelecionarPorCodigo(tabelaPrecoPublicidade.Periodo);
//                #endregion

//                #region Dados LocalBanner
//                LocalBanner localBannerDAL = new LocalBanner();
//                tabelaPrecoPublicidade.LocalBanner.Codigo = (int)item.CodigoLocalBanner;
//                tabelaPrecoPublicidade.LocalBanner = localBannerDAL.SelecionarPorCodigo(tabelaPrecoPublicidade.LocalBanner);
//                #endregion

//                tabelaPrecoPublicidades.Add(tabelaPrecoPublicidade);
//            }

//            return tabelaPrecoPublicidades;
//        }
//    }
//}
